#pragma once

#include "Container.h"
#include "DBStream.h"
#include "Config.h"

namespace db
{

class StringContainer : public Container
{
private:
    std::wstring      m_data;
public:
    void Load(ReadStream& file); 
    void Save(WriteStream& file) const; 
public:
    StringContainer();
    StringContainer(const std::wstring& data);
public:
    ERecordType GetType() const;
    
    std::wstring GetAsString() const;
    bool GetAsBool() const;
    u32 GetAsInt() const; 
    f32 GetAsFloat() const;
    f64 GetAsDouble() const;

	u32 GetDataSize() const;
	const void* GetAsData() const;

    void Set(const std::wstring& data);
};

};